echo "正在初始化项目..."
echo "正在安装依赖..."

# 安装 eslint 基础包
pnpm add -D eslint @eslint/js globals eslint  

# 安装 eslint + vue 相关包
pnpm add -D eslint-plugin-vue

# 安装 eslint + typescript 相关包
pnpm add -D typescript-eslint 

# 安装 prettier 相关包
pnpm add -D prettier

# 安装 prettier 与 eslint 的集成包
pnpm add -D eslint-config-prettier eslint-plugin-prettier

# 安装 stylelint
pnpm add -D stylelint 

# 安装 stylelint 相关包
pnpm add -D stylelint-config-standard-vue stylelint-config-standard-scss stylelint-order

# 安装 husky -- git hooks 管理包
pnpm add -D husky

# 安装 lint-staged -- git 暂存操作包
pnpm add -D lint-staged

# 安装 commitizen 相关包  -- 生成规范化 commit 信息
pnpm add -D commitizen @commitlint/cz-commitlint inquirer@9  

# 安装 commitlint 相关包 -- git commit 信息校验包
pnpm add -D @commitlint/cli @commitlint/config-conventional 

echo "依赖赖安装完成..."

echo "正在初始化配置文件..."

echo "开始：初始化 eslint 配置文件..."
echo "-----------------------------------"
cp templates/eslint.config.mjs eslint.config.mjs
echo "完成：初始化 eslint 配置文件..."

echo "开始：初始化 prettier 配置文件..."
echo "-----------------------------------"
cp templates/prettier.config.mjs prettier.config.mjs
cp templates/.prettierignore .prettierignore
echo "完成：初始化 prettier 配置文件..."

echo "开始：初始化 stylelint 配置文件..."
echo "-----------------------------------"
cp templates/stylelint.config.mjs stylelint.config.mjs
cp templates/.stylelintignore .stylelintignore
echo "完成：初始化 prettier 配置文件..."

echo "开始：初始化 lint-staged 配置文件..."
echo "-----------------------------------"
cp templates/lint-staged.config.mjs lint-staged.config.mjs
echo "完成：完成：初始化 lint-staged 配置文件..."

echo "开始：初始化 commitlint 配置文件..."
echo "-----------------------------------"
cp templates/commitlint.config.mjs commitlint.config.mjs
echo "完成：完成：初始化 commitlint 配置文件..."

echo "开始：初始化 commitizen 配置文件..."
echo "-----------------------------------"
cp templates/.czrc .czrc
echo "完成：完成：初始化 commitizen 配置文件..."

echo "开始：给package.json添加commit脚本..."
echo "-----------------------------------"
npm pkg set scripts.commit="cz"
echo "结束：给package.json添加commit脚本..."

echo "开始：初始化 husky ..."
pnpm exec husky init
cp templates/husky.pre-commit .husky/pre-commit
echo "完成：初始化 husky ..."